/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package LogicaNegocio.Biblioteca;

/**
 * Esta clase en java define las caracteristicas y atributos de
 * un ejemplar en una biblioteca.
 *
 * @author sebaxtian
 * Archivo: Ejemplar.java
 * @version 1.0
 * Fecha: dom abr 11 00:12:56 COT 2010
 */


public class Ejemplar {

    //Atributos de clase
    private int idEjemplar;
    private Long isbn;
    private int numeroSala;
    private int numeroPasillo;
    private int numeroEstante;
    private int numeroCajon;
    private boolean disponible;
    private Libro libro;

    /**
     * Crea un ejemplar con atributos nulos.
     */
    public Ejemplar() {
        this.idEjemplar = -1;
        this.isbn = -1L;
        this.numeroSala = -1;
        this.numeroPasillo = -1;
        this.numeroEstante = -1;
        this.numeroCajon = -1;
        this.disponible = false;
        this.libro = null;
    }

    /**
     * Crea un ejemplar con atributos definidos como argumentos.
     *
     * @param idEjemplar
     * @param isbn
     * @param numeroSala
     * @param numeroPasillo
     * @param numeroEstante
     * @param numeroCajon
     * @param disponible
     */
    public Ejemplar(int idEjemplar, Long isbn, int numeroSala, int numeroPasillo, int numeroEstante, int numeroCajon, boolean disponible) {
        this.idEjemplar = idEjemplar;
        this.isbn = isbn;
        this.numeroSala = numeroSala;
        this.numeroPasillo = numeroPasillo;
        this.numeroEstante = numeroEstante;
        this.numeroCajon = numeroCajon;
        this.disponible = disponible;
        this.libro = null;
    }

    /**
     * Obtiene el identificador del ejemplar.
     *
     * @return idEjemplar
     */
    public int getIdEjemplar() {
        return idEjemplar;
    }

    /**
     * Cambia el identificador del ejemplar.
     * @param idEjemplar
     */
    public void setIdEjemplar(int idEjemplar) {
        this.idEjemplar = idEjemplar;
    }

    /**
     * Obtiene el isbn del libro al que pertenece el ejemplar.
     *
     * @return isbn
     */
    public Long getIsbn() {
        return isbn;
    }

    /**
     * Cambia el isbn del libro al que pertenece el ejemplar.
     * 
     * @param isbn
     */
    public void setIsbn(Long isbn) {
        this.isbn = isbn;
    }

    /**
     * Obtiene el numero de sala donde esta ubicado.
     * @return numeroSala
     */
    public int getNumeroSala() {
        return numeroSala;
    }

    /**
     * Cambia el numero de sala donde esta ubicado.
     *
     * @param numeroSala
     */
    public void setNumeroSala(int numeroSala) {
        this.numeroSala = numeroSala;
    }

    /**
     * Obtiene el numero de pasillo donde esta ubicado.
     *
     * @return numeroPasillo
     */
    public int getNumeroPasillo() {
        return numeroPasillo;
    }

    /**
     * Cambia el numero de pasillo donde esta ubicado.
     *
     * @param numeroPasillo
     */
    public void setNumeroPasillo(int numeroPasillo) {
        this.numeroPasillo = numeroPasillo;
    }

    /**
     * Obtiene el numero de estante donde esta ubicado.
     *
     * @return numeroEstante
     */
    public int getNumeroEstante() {
        return numeroEstante;
    }

    /**
     * Cambia el numero de estante donde esta ubicado.
     *
     * @param numeroEstante
     */
    public void setNumeroEstante(int numeroEstante) {
        this.numeroEstante = numeroEstante;
    }

    /**
     * Obtiene el numero de cajon donde esta ubicado.
     *
     * @return numeroCajon
     */
    public int getNumeroCajon() {
        return numeroCajon;
    }

    /**
     * Cambia el numero de cajon donde esta ubicado.
     *
     * @param numeroCajon
     */
    public void setNumeroCajon(int numeroCajon) {
        this.numeroCajon = numeroCajon;
    }

    /**
     * Obtiene el estado de disponibilidad.
     *
     * @return disponible
     */
    public boolean isDisponible() {
        return disponible;
    }

    /**
     * Cambia el estado de disponibilidad.
     *
     * @param disponible
     */
    public void setDisponible(boolean disponible) {
        this.disponible = disponible;
    }

    /**
     * Obtiene el libro del ejemplar.
     *
     * @return libro
     */
    public Libro getLibro() {
        return libro;
    }

    /**
     * Cambia el libro del ejemplar.
     *
     * @param libro
     */
    public void setLibro(Libro libro) {
        this.libro = libro;
    }
    
}
